package com.fand.platform.configuration.dao;

import java.util.List;
import java.util.Map;

import com.fand.dto.PaginationDto;
import com.fand.platform.configuration.dto.SiteDto;
import com.fand.platform.configuration.dto.SiteLoDto;
import com.fand.platform.configuration.dto.SiteDeDto;
import com.fand.platform.configuration.dto.SiteDeLoDto;
import com.fand.platform.configuration.dto.DomainNaDto;
import com.fand.platform.configuration.dto.DomainNaLoDto;

/**
 * 站
 *
 * @author yaoHT
 * 
 */
public interface SiteDao {
	String BEAN_ID = "com.fand.platform.configuration.dao.SiteDao";

	/**
	 * 插入:站
	 * 
	 * @param insertSite
	 *            站对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertSiteBy1(SiteDto insertSite, String... insertProperties);

	/**
	 * 插入:站
	 * 
	 * @param insertSite
	 *            站对象
	 * 
	 * @return 影响行数
	 */
	int insertSiteBy1_1(SiteDto insertSite);

	/**
	 * 插入:站
	 * 
	 * @param insertSite
	 *            站对象
	 * 
	 * @return 影响行数
	 */
	int insertSiteBy2(SiteDto insertSite);
	
	/**
	 * 删除:站
	 * 
	 * @param deleteSite
	 *            站对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteSiteBy1(SiteDto deleteSite, String... whereEqProperties);

	/**
	 * 删除:站
	 * 
	 * @param deleteSite
	 *            站对象
	 * 
	 * @return 影响行数
	 */
	int deleteSiteBy1_1(SiteDto deleteSite);
	
	/**
	 * 删除:站
	 * 
	 * @param deleteSite
	 *            站对象
	 * 
	 * @return 影响行数
	 */
	int deleteSiteByIds(SiteDto deleteSite);

	/**
	 * 更新:站
	 * 
	 * @param updateSite
	 *            站对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateSiteBy1(SiteDto updateSite, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:站
	 * 
	 * @param updateSite
	 *            站对象
	 * 
	 * @return 影响行数
	 */
	int updateSiteBy1_1(SiteDto updateSite);
	
	/**
	 * 更新:站
	 * 
	 * @param updateSite
	 *            站对象
	 * 
	 * @return 影响行数
	 */
	int updateSiteBy2(SiteDto updateSite);

	/**
	 * 查询:站
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteBy1ForObject(Class<R> requiredType, SiteDto selectSite, String objectId, String... whereEqProperties);

	/**
	 * 查询:站
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteBy1_1ForObject(Class<R> requiredType, SiteDto selectSite, String objectId);
	
	/**
	 * 查询:站
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteBy2ForObject(Class<R> requiredType, SiteDto selectSite, String objectId);
	
	/**
	 * 查询:站
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站对象集合
	 */
	<R> List<R> selectSiteBy1ForObjectList(Class<R> requiredType, SiteDto selectSite, String objectId, String... whereEqProperties);

	/**
	 * 查询:站
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 站对象集合
	 */
	<R> List<R> selectSiteBy1_1ForObjectList(Class<R> requiredType, SiteDto selectSite, String objectId);
	
	/**
	 * 查询:站
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 站对象集合
	 */
	<R> List<R> selectSiteBy2ForObjectList(Class<R> requiredType, SiteDto selectSite, String objectId);

	/**
	 * 查询:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteBy1ForMappedObject(Class<R> mappedClass, SiteDto selectSite, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteBy1_1ForMappedObject(Class<R> mappedClass, SiteDto selectSite);
	
	/**
	 * 查询:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteBy2ForMappedObject(Class<R> mappedClass, SiteDto selectSite);

	/**
	 * 查询:站
	 * 
	 * @param selectSite
	 *            站对象
	 * @return 返回数据
	 */
	int selectSiteByCodeNqIdForInteger(SiteDto selectSite);

	/**
	 * 查询:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站对象集合
	 */
	<R> List<R> selectSiteBy1ForMappedObjectList(Class<R> mappedClass, SiteDto selectSite, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @return 站对象集合
	 */
	<R> List<R> selectSiteBy1_1ForMappedObjectList(Class<R> mappedClass, SiteDto selectSite);

	/**
	 * 查询:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSite
	 *            站对象
	 * 
	 * @return 站对象集合
	 */
	<R> List<R> selectSiteBy2ForMappedObjectList(Class<R> mappedClass, SiteDto selectSite);
	
	/**
	 * 分页:站
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationSite
	 *            站对象
	 * 
	 * @return 站分页对象
	 */
	<R> PaginationDto<R> paginationSiteBy1ForMappedObjectList(final Class<R> mappedClass,
			SiteDto paginationSite);
			
	/**
	 * 分页
	 * 
	 * @param paginationSite
	 *            站对象
	 * 
	 * @return 站分页对象
	 */
	PaginationDto<Map<String, Object>> paginationSiteBy1ForMapList(SiteDto paginationSite);

	/**
	 * 插入:站日志
	 * 
	 * @param insertSiteLo
	 *            站日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertSiteLoBy1(SiteLoDto insertSiteLo, String... insertProperties);
	
	/**
	 * 删除:站日志
	 * 
	 * @param deleteSiteLo
	 *            站日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteSiteLoBy1(SiteLoDto deleteSiteLo, String... whereEqProperties);


	/**
	 * 更新:站日志
	 * 
	 * @param updateSiteLo
	 *            站日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateSiteLoBy1(SiteLoDto updateSiteLo, String[] updateProperties, String... whereEqProperties);


	/**
	 * 查询:站日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSiteLo
	 *            站日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteLoBy1ForObject(Class<R> requiredType, SiteLoDto selectSiteLo, String objectId, String... whereEqProperties);
	
	/**
	 * 查询:站日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSiteLo
	 *            站日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站日志对象集合
	 */
	<R> List<R> selectSiteLoBy1ForObjectList(Class<R> requiredType, SiteLoDto selectSiteLo, String objectId, String... whereEqProperties);


	/**
	 * 查询:站日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSiteLo
	 *            站日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteLoBy1ForMappedObject(Class<R> mappedClass, SiteLoDto selectSiteLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:站日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSiteLo
	 *            站日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站日志对象集合
	 */
	<R> List<R> selectSiteLoBy1ForMappedObjectList(Class<R> mappedClass, SiteLoDto selectSiteLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:站默认
	 * 
	 * @param insertSiteDe
	 *            站默认对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertSiteDeBy1(SiteDeDto insertSiteDe, String... insertProperties);
	
	/**
	 * 删除:站默认
	 * 
	 * @param deleteSiteDe
	 *            站默认对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteSiteDeBy1(SiteDeDto deleteSiteDe, String... whereEqProperties);


	/**
	 * 更新:站默认
	 * 
	 * @param updateSiteDe
	 *            站默认对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateSiteDeBy1(SiteDeDto updateSiteDe, String[] updateProperties, String... whereEqProperties);


	/**
	 * 查询:站默认
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSiteDe
	 *            站默认对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteDeBy1ForObject(Class<R> requiredType, SiteDeDto selectSiteDe, String objectId, String... whereEqProperties);
	
	/**
	 * 查询:站默认
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSiteDe
	 *            站默认对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站默认对象集合
	 */
	<R> List<R> selectSiteDeBy1ForObjectList(Class<R> requiredType, SiteDeDto selectSiteDe, String objectId, String... whereEqProperties);


	/**
	 * 查询:站默认
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSiteDe
	 *            站默认对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteDeBy1ForMappedObject(Class<R> mappedClass, SiteDeDto selectSiteDe, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:站默认
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSiteDe
	 *            站默认对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站默认对象集合
	 */
	<R> List<R> selectSiteDeBy1ForMappedObjectList(Class<R> mappedClass, SiteDeDto selectSiteDe, String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:站默认日志
	 * 
	 * @param insertSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertSiteDeLoBy1(SiteDeLoDto insertSiteDeLo, String... insertProperties);
	
	/**
	 * 删除:站默认日志
	 * 
	 * @param deleteSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteSiteDeLoBy1(SiteDeLoDto deleteSiteDeLo, String... whereEqProperties);


	/**
	 * 更新:站默认日志
	 * 
	 * @param updateSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateSiteDeLoBy1(SiteDeLoDto updateSiteDeLo, String[] updateProperties, String... whereEqProperties);


	/**
	 * 查询:站默认日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteDeLoBy1ForObject(Class<R> requiredType, SiteDeLoDto selectSiteDeLo, String objectId, String... whereEqProperties);
	
	/**
	 * 查询:站默认日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站默认日志对象集合
	 */
	<R> List<R> selectSiteDeLoBy1ForObjectList(Class<R> requiredType, SiteDeLoDto selectSiteDeLo, String objectId, String... whereEqProperties);


	/**
	 * 查询:站默认日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectSiteDeLoBy1ForMappedObject(Class<R> mappedClass, SiteDeLoDto selectSiteDeLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:站默认日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectSiteDeLo
	 *            站默认日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 站默认日志对象集合
	 */
	<R> List<R> selectSiteDeLoBy1ForMappedObjectList(Class<R> mappedClass, SiteDeLoDto selectSiteDeLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:域名
	 * 
	 * @param insertDomainNa
	 *            域名对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDomainNaBy1(DomainNaDto insertDomainNa, String... insertProperties);

	/**
	 * 插入:域名
	 * 
	 * @param insertDomainNa
	 *            域名对象
	 * 
	 * @return 影响行数
	 */
	int insertDomainNaBy1_1(DomainNaDto insertDomainNa);

	/**
	 * 插入:域名
	 * 
	 * @param insertDomainNa
	 *            域名对象
	 * 
	 * @return 影响行数
	 */
	int insertDomainNaBy2(DomainNaDto insertDomainNa);
	
	/**
	 * 删除:域名
	 * 
	 * @param deleteDomainNa
	 *            域名对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDomainNaBy1(DomainNaDto deleteDomainNa, String... whereEqProperties);

	/**
	 * 删除:域名
	 * 
	 * @param deleteDomainNa
	 *            域名对象
	 * 
	 * @return 影响行数
	 */
	int deleteDomainNaBy1_1(DomainNaDto deleteDomainNa);
	
	/**
	 * 删除:域名
	 * 
	 * @param deleteDomainNa
	 *            域名对象
	 * 
	 * @return 影响行数
	 */
	int deleteDomainNaByIds(DomainNaDto deleteDomainNa);

	/**
	 * 更新:域名
	 * 
	 * @param updateDomainNa
	 *            域名对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDomainNaBy1(DomainNaDto updateDomainNa, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:域名
	 * 
	 * @param updateDomainNa
	 *            域名对象
	 * 
	 * @return 影响行数
	 */
	int updateDomainNaBy1_1(DomainNaDto updateDomainNa);
	
	/**
	 * 更新:域名
	 * 
	 * @param updateDomainNa
	 *            域名对象
	 * 
	 * @return 影响行数
	 */
	int updateDomainNaBy2(DomainNaDto updateDomainNa);

	/**
	 * 查询:域名
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaBy1ForObject(Class<R> requiredType, DomainNaDto selectDomainNa, String objectId, String... whereEqProperties);

	/**
	 * 查询:域名
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaBy1_1ForObject(Class<R> requiredType, DomainNaDto selectDomainNa, String objectId);
	
	/**
	 * 查询:域名
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaBy2ForObject(Class<R> requiredType, DomainNaDto selectDomainNa, String objectId);
	
	/**
	 * 查询:域名
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 域名对象集合
	 */
	<R> List<R> selectDomainNaBy1ForObjectList(Class<R> requiredType, DomainNaDto selectDomainNa, String objectId, String... whereEqProperties);

	/**
	 * 查询:域名
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 域名对象集合
	 */
	<R> List<R> selectDomainNaBy1_1ForObjectList(Class<R> requiredType, DomainNaDto selectDomainNa, String objectId);
	
	/**
	 * 查询:域名
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 域名对象集合
	 */
	<R> List<R> selectDomainNaBy2ForObjectList(Class<R> requiredType, DomainNaDto selectDomainNa, String objectId);

	/**
	 * 查询:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaBy1ForMappedObject(Class<R> mappedClass, DomainNaDto selectDomainNa, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaBy1_1ForMappedObject(Class<R> mappedClass, DomainNaDto selectDomainNa);
	
	/**
	 * 查询:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaBy2ForMappedObject(Class<R> mappedClass, DomainNaDto selectDomainNa);

	/**
	 * 查询:域名
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * @return 返回数据
	 */
	int selectDomainNaByCodeNqIdForInteger(DomainNaDto selectDomainNa);

	/**
	 * 查询:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 域名对象集合
	 */
	<R> List<R> selectDomainNaBy1ForMappedObjectList(Class<R> mappedClass, DomainNaDto selectDomainNa, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @return 域名对象集合
	 */
	<R> List<R> selectDomainNaBy1_1ForMappedObjectList(Class<R> mappedClass, DomainNaDto selectDomainNa);

	/**
	 * 查询:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNa
	 *            域名对象
	 * 
	 * @return 域名对象集合
	 */
	<R> List<R> selectDomainNaBy2ForMappedObjectList(Class<R> mappedClass, DomainNaDto selectDomainNa);
	
	/**
	 * 分页:域名
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationDomainNa
	 *            域名对象
	 * 
	 * @return 域名分页对象
	 */
	<R> PaginationDto<R> paginationDomainNaBy1ForMappedObjectList(final Class<R> mappedClass,
			DomainNaDto paginationDomainNa);
			
	/**
	 * 分页
	 * 
	 * @param paginationDomainNa
	 *            域名对象
	 * 
	 * @return 域名分页对象
	 */
	PaginationDto<Map<String, Object>> paginationDomainNaBy1ForMapList(DomainNaDto paginationDomainNa);

	/**
	 * 插入:域名日志
	 * 
	 * @param insertDomainNaLo
	 *            域名日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertDomainNaLoBy1(DomainNaLoDto insertDomainNaLo, String... insertProperties);
	
	/**
	 * 删除:域名日志
	 * 
	 * @param deleteDomainNaLo
	 *            域名日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteDomainNaLoBy1(DomainNaLoDto deleteDomainNaLo, String... whereEqProperties);


	/**
	 * 更新:域名日志
	 * 
	 * @param updateDomainNaLo
	 *            域名日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateDomainNaLoBy1(DomainNaLoDto updateDomainNaLo, String[] updateProperties, String... whereEqProperties);


	/**
	 * 查询:域名日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNaLo
	 *            域名日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaLoBy1ForObject(Class<R> requiredType, DomainNaLoDto selectDomainNaLo, String objectId, String... whereEqProperties);
	
	/**
	 * 查询:域名日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectDomainNaLo
	 *            域名日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 域名日志对象集合
	 */
	<R> List<R> selectDomainNaLoBy1ForObjectList(Class<R> requiredType, DomainNaLoDto selectDomainNaLo, String objectId, String... whereEqProperties);


	/**
	 * 查询:域名日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNaLo
	 *            域名日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectDomainNaLoBy1ForMappedObject(Class<R> mappedClass, DomainNaLoDto selectDomainNaLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:域名日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectDomainNaLo
	 *            域名日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 域名日志对象集合
	 */
	<R> List<R> selectDomainNaLoBy1ForMappedObjectList(Class<R> mappedClass, DomainNaLoDto selectDomainNaLo, String[] selectProperties, String... whereEqProperties);
}